Installing Data
Install “coinmarketcapr” data package.
library(coinmarketcapr)
Registered S3 method overwritten by 'data.table':
method from
print.data.table
library(ggplot2)
library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
key <- '948b8972-8b87-4632-975a-1f557e76cfe2'
coinmarketcapr::setup(key)
Market Cap
The following function plots the top 15 currencies with the largest marketcaps, this shows us which coins are safer investments as large cap coins are considered more conservative.
cryptos <- get_crypto_listings()
market_cap <- cryptos$USD_market_cap
names <- cryptos$name
crypto_table <- data.frame(names,market_cap)
ordered <- order(crypto_table)
crypto_ordered <- crypto_table[,-9]
crypto_ordered
barplot(crypto_ordered$market_cap[1:15], col=rainbow(20), names.arg= crypto_ordered$names[1:15],las=2)

Percent Change 30 days
We can further create charts showing which coins have had a large positive percent change in the past 30 days.
cryptos <- get_crypto_listings()
thirtydpercent <- cryptos$USD_percent_change_30d
names <- cryptos$name
cryptothirtyd <- data.frame(names,thirtydpercent)
thirtydordered <- cryptothirtyd[order(cryptothirtyd$thirtydpercent, decreasing = TRUE), ]
thirtydordered
barplot(thirtydordered$thirtydpercent[1:15], col=rainbow(20), names.arg= thirtydordered$names[1:15],las=2)

Percent Change 7 days
We can do something similar with the following and see which coins have had a significant percent change in the past 7 days.
cryptos <- get_crypto_listings()
sevendpercent <- cryptos$USD_percent_change_7d
names <- cryptos$name
cryptosevend <- data.frame(names,sevendpercent)
sevendordered <- cryptosevend[order(cryptosevend$sevendpercent, decreasing = TRUE), ]
sevendordered
barplot(sevendordered$sevendpercent[1:15], col=rainbow(20), names.arg= sevendordered$names[1:15],las=2)

Percent Change 24h
Further we can do the same thing on a smaller scale to see which currencies have changed the most in the past 24 hours.
cryptos <- get_crypto_listings()
twentyfourpercent <- cryptos$USD_percent_change_24h
names <- cryptos$name
cryptotwentyfour <- data.frame(names,twentyfourpercent)
twentyfourordered <- cryptotwentyfour[order(cryptotwentyfour$twentyfourpercent, decreasing = TRUE), ]
twentyfourordered
barplot(twentyfourordered$twentyfourpercent[1:15], col=rainbow(20), names.arg= twentyfourordered$names[1:15],las=2)

Percent Change 24h
We can also chart the volume of the currency in order to see how much of the financial asset has been traded in the past day. Seeing a high volume shows us that a stock has high security as it is more liquid and is more actively trading.
cryptos <- get_crypto_listings()
volume <- cryptos$USD_volume_24h
names <- cryptos$name
cryptovolume <- data.frame(names,volume)
volumeordered <- cryptovolume[order(cryptovolume$volume, decreasing = TRUE), ]
volumeordered
barplot(volumeordered$volume[1:15], col=rainbow(20), names.arg= volumeordered$names[1:15],las=2)

#libraries
library(deSolve)
library(shiny)
library(shinyWidgets)
library(cryptor)
library(ggplot2)
library(plotly)
#Setting up data
btc_price_history_full = get_historical_price("BTC", "USD", limit = 2000)
btc_price = btc_price_history_full$close
btc_time = as.Date(btc_price_history_full$time)
btc_frame = data.frame(btc_time, btc_price)
#Plotting data
btc_plot <- ggplot(btc_frame, aes(x = btc_time, y=btc_price)) +
geom_line() +
xlab("Time") +
ylab("Bitcoin Price")
btc_plot <- ggplotly(btc_plot)
btc_plot
NA
By: Aaditya Surya
LS0tCnRpdGxlOiAiQmFzaWMgRURBIG9mIERhdGEiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KPGJyPjxoMz5JbnN0YWxsaW5nIERhdGE8L2gzPjxicj4KSW5zdGFsbCAiY29pbm1hcmtldGNhcHIiIGRhdGEgcGFja2FnZS4KYGBge3J9CmxpYnJhcnkoY29pbm1hcmtldGNhcHIpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShkcGx5cikKa2V5IDwtICc5NDhiODk3Mi04Yjg3LTQ2MzItOTc1YS0xZjU1N2U3NmNmZTInCmNvaW5tYXJrZXRjYXByOjpzZXR1cChrZXkpCgpgYGAKCgo8YnI+PGgzPk1hcmtldCBDYXA8L2gzPjxicj4KVGhlIGZvbGxvd2luZyBmdW5jdGlvbiBwbG90cyB0aGUgdG9wIDE1IGN1cnJlbmNpZXMgd2l0aCB0aGUgbGFyZ2VzdCBtYXJrZXRjYXBzLCB0aGlzIHNob3dzIHVzIHdoaWNoIGNvaW5zIGFyZSBzYWZlciBpbnZlc3RtZW50cyBhcyBsYXJnZSBjYXAgY29pbnMgYXJlIGNvbnNpZGVyZWQgbW9yZSBjb25zZXJ2YXRpdmUuCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQptYXJrZXRfY2FwIDwtIGNyeXB0b3MkVVNEX21hcmtldF9jYXAKbmFtZXMgPC0gY3J5cHRvcyRuYW1lCmNyeXB0b190YWJsZSA8LSBkYXRhLmZyYW1lKG5hbWVzLG1hcmtldF9jYXApCm9yZGVyZWQgPC0gb3JkZXIoY3J5cHRvX3RhYmxlKQpjcnlwdG9fb3JkZXJlZCA8LSBjcnlwdG9fdGFibGVbLC05XQpjcnlwdG9fb3JkZXJlZApiYXJwbG90KGNyeXB0b19vcmRlcmVkJG1hcmtldF9jYXBbMToxNV0sIGNvbD1yYWluYm93KDIwKSwgbmFtZXMuYXJnPSBjcnlwdG9fb3JkZXJlZCRuYW1lc1sxOjE1XSxsYXM9MikKCmBgYAoKPGJyPjxoMz5QZXJjZW50IENoYW5nZSAzMCBkYXlzPC9oMz48YnI+CldlIGNhbiBmdXJ0aGVyIGNyZWF0ZSBjaGFydHMgc2hvd2luZyB3aGljaCBjb2lucyBoYXZlIGhhZCBhIGxhcmdlIHBvc2l0aXZlIHBlcmNlbnQgY2hhbmdlIGluIHRoZSBwYXN0IDMwIGRheXMuCgpgYGB7cn0KY3J5cHRvcyA8LSBnZXRfY3J5cHRvX2xpc3RpbmdzKCkKdGhpcnR5ZHBlcmNlbnQgPC0gY3J5cHRvcyRVU0RfcGVyY2VudF9jaGFuZ2VfMzBkCm5hbWVzIDwtIGNyeXB0b3MkbmFtZQpjcnlwdG90aGlydHlkIDwtIGRhdGEuZnJhbWUobmFtZXMsdGhpcnR5ZHBlcmNlbnQpCnRoaXJ0eWRvcmRlcmVkIDwtIGNyeXB0b3RoaXJ0eWRbb3JkZXIoY3J5cHRvdGhpcnR5ZCR0aGlydHlkcGVyY2VudCwgZGVjcmVhc2luZyA9IFRSVUUpLCBdCnRoaXJ0eWRvcmRlcmVkCgpiYXJwbG90KHRoaXJ0eWRvcmRlcmVkJHRoaXJ0eWRwZXJjZW50WzE6MTVdLCBjb2w9cmFpbmJvdygyMCksIG5hbWVzLmFyZz0gdGhpcnR5ZG9yZGVyZWQkbmFtZXNbMToxNV0sbGFzPTIpCmBgYAoKCjxicj48aDM+UGVyY2VudCBDaGFuZ2UgNyBkYXlzPC9oMz48YnI+CldlIGNhbiBkbyBzb21ldGhpbmcgc2ltaWxhciB3aXRoIHRoZSBmb2xsb3dpbmcgYW5kIHNlZSB3aGljaCBjb2lucyBoYXZlIGhhZCBhIHNpZ25pZmljYW50IHBlcmNlbnQgY2hhbmdlIGluIHRoZSBwYXN0IDcgZGF5cy4KCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQpzZXZlbmRwZXJjZW50IDwtIGNyeXB0b3MkVVNEX3BlcmNlbnRfY2hhbmdlXzdkCm5hbWVzIDwtIGNyeXB0b3MkbmFtZQpjcnlwdG9zZXZlbmQgPC0gZGF0YS5mcmFtZShuYW1lcyxzZXZlbmRwZXJjZW50KQpzZXZlbmRvcmRlcmVkIDwtIGNyeXB0b3NldmVuZFtvcmRlcihjcnlwdG9zZXZlbmQkc2V2ZW5kcGVyY2VudCwgZGVjcmVhc2luZyA9IFRSVUUpLCBdCnNldmVuZG9yZGVyZWQKCmJhcnBsb3Qoc2V2ZW5kb3JkZXJlZCRzZXZlbmRwZXJjZW50WzE6MTVdLCBjb2w9cmFpbmJvdygyMCksIG5hbWVzLmFyZz0gc2V2ZW5kb3JkZXJlZCRuYW1lc1sxOjE1XSxsYXM9MikKYGBgCgoKPGJyPjxoMz5QZXJjZW50IENoYW5nZSAyNGg8L2gzPjxicj4KRnVydGhlciB3ZSBjYW4gZG8gdGhlIHNhbWUgdGhpbmcgb24gYSBzbWFsbGVyIHNjYWxlIHRvIHNlZSB3aGljaCBjdXJyZW5jaWVzIGhhdmUgY2hhbmdlZCB0aGUgbW9zdCBpbiB0aGUgcGFzdCAyNCBob3Vycy4KCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQp0d2VudHlmb3VycGVyY2VudCA8LSBjcnlwdG9zJFVTRF9wZXJjZW50X2NoYW5nZV8yNGgKbmFtZXMgPC0gY3J5cHRvcyRuYW1lCmNyeXB0b3R3ZW50eWZvdXIgPC0gZGF0YS5mcmFtZShuYW1lcyx0d2VudHlmb3VycGVyY2VudCkKdHdlbnR5Zm91cm9yZGVyZWQgPC0gY3J5cHRvdHdlbnR5Zm91cltvcmRlcihjcnlwdG90d2VudHlmb3VyJHR3ZW50eWZvdXJwZXJjZW50LCBkZWNyZWFzaW5nID0gVFJVRSksIF0KdHdlbnR5Zm91cm9yZGVyZWQKCmJhcnBsb3QodHdlbnR5Zm91cm9yZGVyZWQkdHdlbnR5Zm91cnBlcmNlbnRbMToxNV0sIGNvbD1yYWluYm93KDIwKSwgbmFtZXMuYXJnPSB0d2VudHlmb3Vyb3JkZXJlZCRuYW1lc1sxOjE1XSxsYXM9MikKYGBgCgo8YnI+PGgzPlBlcmNlbnQgQ2hhbmdlIDI0aDwvaDM+PGJyPgpXZSBjYW4gYWxzbyBjaGFydCB0aGUgdm9sdW1lIG9mIHRoZSBjdXJyZW5jeSBpbiBvcmRlciB0byBzZWUgaG93IG11Y2ggb2YgdGhlIGZpbmFuY2lhbCBhc3NldCBoYXMgYmVlbiB0cmFkZWQgaW4gdGhlIHBhc3QgZGF5LiBTZWVpbmcgYSBoaWdoIHZvbHVtZSBzaG93cyB1cyB0aGF0IGEgc3RvY2sgaGFzIGhpZ2ggc2VjdXJpdHkgYXMgaXQgaXMgbW9yZSBsaXF1aWQgYW5kIGlzIG1vcmUgYWN0aXZlbHkgdHJhZGluZy4KCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQp2b2x1bWUgPC0gY3J5cHRvcyRVU0Rfdm9sdW1lXzI0aApuYW1lcyA8LSBjcnlwdG9zJG5hbWUKY3J5cHRvdm9sdW1lIDwtIGRhdGEuZnJhbWUobmFtZXMsdm9sdW1lKQp2b2x1bWVvcmRlcmVkIDwtIGNyeXB0b3ZvbHVtZVtvcmRlcihjcnlwdG92b2x1bWUkdm9sdW1lLCBkZWNyZWFzaW5nID0gVFJVRSksIF0Kdm9sdW1lb3JkZXJlZAoKYmFycGxvdCh2b2x1bWVvcmRlcmVkJHZvbHVtZVsxOjE1XSwgY29sPXJhaW5ib3coMjApLCBuYW1lcy5hcmc9IHZvbHVtZW9yZGVyZWQkbmFtZXNbMToxNV0sbGFzPTIpCmBgYAoKYGBge3J9CiNsaWJyYXJpZXMKbGlicmFyeShkZVNvbHZlKQpsaWJyYXJ5KHNoaW55KQpsaWJyYXJ5KHNoaW55V2lkZ2V0cykKbGlicmFyeShjcnlwdG9yKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkocGxvdGx5KQoKI1NldHRpbmcgdXAgZGF0YQpidGNfcHJpY2VfaGlzdG9yeV9mdWxsID0gZ2V0X2hpc3RvcmljYWxfcHJpY2UoIkJUQyIsICJVU0QiLCBsaW1pdCA9IDIwMDApCmJ0Y19wcmljZSA9IGJ0Y19wcmljZV9oaXN0b3J5X2Z1bGwkY2xvc2UKYnRjX3RpbWUgPSBhcy5EYXRlKGJ0Y19wcmljZV9oaXN0b3J5X2Z1bGwkdGltZSkKYnRjX2ZyYW1lID0gZGF0YS5mcmFtZShidGNfdGltZSwgYnRjX3ByaWNlKQoKI1Bsb3R0aW5nIGRhdGEKYnRjX3Bsb3QgPC0gZ2dwbG90KGJ0Y19mcmFtZSwgYWVzKHggPSBidGNfdGltZSwgeT1idGNfcHJpY2UpKSArCiAgZ2VvbV9saW5lKCkgKyAKICB4bGFiKCJUaW1lIikgKwogIHlsYWIoIkJpdGNvaW4gUHJpY2UiKQoKYnRjX3Bsb3QgPC0gZ2dwbG90bHkoYnRjX3Bsb3QpCmJ0Y19wbG90CgpgYGAKPGJyPjxoMz5CeTogQWFkaXR5YSBTdXJ5YTwvaDM+PGJyPg==